// 自动生成模板SmsCouponHistory
package biz

import (
	"time"

	"github.com/go-kratos/kratos/v2/log"
)

// smsCouponHistory表 结构体  SmsCouponHistory
type SmsCouponHistory struct {
	Id             *int       `json:"id" form:"id" gorm:"primarykey;comment:id;column:id;size:19;"`                              //id
	CouponId       *int       `json:"couponId" form:"couponId" gorm:"comment:优惠券id;column:coupon_id;size:19;"`                   //优惠券id
	MemberId       *int       `json:"memberId" form:"memberId" gorm:"comment:会员id;column:member_id;size:19;"`                    //会员id
	MemberNickName *string    `json:"memberNickName" form:"memberNickName" gorm:"comment:会员名字;column:member_nick_name;size:64;"` //会员名字
	GetType        *bool      `json:"getType" form:"getType" gorm:"comment:获取方式[0->后台赠送；1->主动领取];column:get_type;"`              //获取方式[0->后台赠送；1->主动领取]
	CreateTime     *time.Time `json:"createTime" form:"createTime" gorm:"comment:创建时间;column:create_time;"`                      //创建时间
	UseType        *bool      `json:"useType" form:"useType" gorm:"comment:使用状态[0->未使用；1->已使用；2->已过期];column:use_type;"`         //使用状态[0->未使用；1->已使用；2->已过期]
	UseTime        *time.Time `json:"useTime" form:"useTime" gorm:"comment:使用时间;column:use_time;"`                               //使用时间
	OrderId        *int       `json:"orderId" form:"orderId" gorm:"comment:订单id;column:order_id;size:19;"`                       //订单id
	OrderSn        *int       `json:"orderSn" form:"orderSn" gorm:"comment:订单号;column:order_sn;size:19;"`                        //订单号
}

// TableName smsCouponHistory表 SmsCouponHistory自定义表名 sms_coupon_history
func (SmsCouponHistory) TableName() string {
	return "sms_coupon_history"
}

type SmsCouponHistoryRepo interface {
}

type SmsCouponHistoryUsecase struct {
	repo SmsCouponHistoryRepo
	log  *log.Helper
}

func NewSmsCouponHistoryUsecase(repo GreeterRepo, logger log.Logger) *SmsCouponHistoryUsecase {
	return &SmsCouponHistoryUsecase{repo: repo, log: log.NewHelper(logger)}
}
